1. Field of the Invention
This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2006-354136, filed on Dec. 28, 2006, the disclosure of which is incorporated herein in its entirety by reference.
The present invention relates to a communication system and, more particularly, to a method and a device for transmitting data in a system including a plurality of nodes.
2. Description of the Related Art
Loss of data occurring in a data communication system, no manner whether the system is wired or wireless, affects the upper-layer applications such as Web or mail applications. Therefore, in general, loss of transmitted data is prevented by providing for an ARQ (Automatic Repeat reQuest) function and the like. Known ARQ protocols include Selective-ACK, Go-back-N, Stop&Wait, and the like.
In high-speed packet communication systems using 3G (3rd Generation) HSDPA (High Speed Downlink Packet Access) and the like in particular, a technology called HARQ (Hybrid ARQ) is employed, which enables high-speed retransmission control even in a difficult radio environment (see 3GPP TS 25.308 v6.3.0, December 2004, Technical Specification (Release 6), pp. 18-19) According to HARQ, a receiving side can request a retransmission from a transmitting side by using a simple ACK/NACK feedback, and a packet thus retransmitted is combined with those previously received, whereby the rate of packet reception can be enhanced.
In general, when packets are transmitted through a retransmission protocol, there are some occasions when the amount of time from when a packet is transmitted until it is completely received varies from packet to packet. This is because, since loss can be thought to probabilistically occur to each packet, there is a possibility that loss occurs only once to a packet but occurs several times to another packet. Further, the frequency of a retransmission request or the like is also a cause for the variation in the amount of time required before a packet is completely received. In a radio environment in particular, which sometimes abruptly changes, it can be thought that, in the case of HARQ as well, the amount of time required before a packet is completely received probabilistically changes.
Incidentally, the above-mentioned amount of time required before a packet is completely received is with the addition of the total amount of delay time: a usual transmission delay plus a retransmission delay caused by a retransmission process. However, in the case where the receiving side does not know the time of transmission of a packet on the transmitting side, an “arrival delay” is used, which refers to the amount of time from when the receiving side first detects the receipt of a packet until the packet is completely received, or a count value supposed to be equivalent to this amount of time. In the case where the receiving side can gain a knowledge of the time of transmission of a packet on the transmitting side from a timestamp or the like in the packet, the “arrival delay” can be obtained from that time information. Hereinafter, a brief description will be given of the term “arrival delay,” which will be used in the present specification, and of the influence of a large arrival delay on an application.
FIG. 1A is a sequence diagram of retransmissions through the HARQ protocol, to describe the arrival delay DLY of a packet. FIG. 1B is a sequence diagram to describe reordering of arrival packets when their arrival delays differ from one another.
Referring to FIG. 1A, a packet N is transmitted from a node A to a node B through a physical layer L1. However, it is assumed to be determined through a HARQ process at the node B that the packet N has been received incompletely. At this time, the node B sends a NACK back to the node A, and the node A, upon receipt of the NACK, retransmits the packet N to the node B. Here, this retransmission operation is repeated twice before the packet N is completely received by the node B. In the case where a packet is completely received after a retransmission operation has been repeated a plurality of times as described above, the arrival delay DLY is the amount of time from when the packet is first received incompletely until the packet is completely received, or a count value equivalent to this amount of time.
The arrival delay DLY in this case is caused by the HARQ process. However, if an error remains even after the HARQ process, a retransmission process through an ARQ process is carried out. Accordingly, there is a possibility that the arrival delay DLY further increases.
There are some cases where the arrival delay varies from packet to packet as shown in FIG. 1B because the arrival delay caused by a retransmission process probabilistically changes due to an abrupt change in the radio environment and the like. Here, the arrival delay of the packet N becomes large, and the packet N arrives at the node B after a packet (N+1) that has been transmitted later than the packet N. A still larger arrival delay occurs to a packet (N+2), which arrives at the node B after a plurality of packets that have been transmitted later than the packet (N+2).
When a large arrival delay occurs to an intermediate packet among the packets N to (N+M) sequentially transmitted in serial order as described above, the receiving node B, in order to reorder the packets on the receiving side, stores those packets numbered after the delayed packet in a REORDER buffer until the delayed packet arrives. When the delayed packet has arrived, the stored packets are fed in order to an application. Accordingly, it is necessary to determine a size for the REORDER buffer of the receiving node B such that a maximum delay can be absorbed.
Incidentally, single-hop systems including one transmitting node and one receiving node as shown in FIGS. 1A and 1B are not the only communications systems, but multi-hop systems are also conceivable in which a plurality of transit nodes exist between a transmitting node and a receiving node. In such a multi-hop system, it should be thought that packet loss may occur in each hop. Accordingly, the HARQ and ARQ protocols are used for each hop, whereby it is possible to recover packet loss.
FIG. 2 is a sequence diagram to describe the arrival delay in a multi-hop system. Here, for simplicity, it is assumed that two transit nodes B and C exist between a transmitting node A and a receiving node D. If applying the protocols described with reference to FIGS. 1A and 1B to this multi-hop system, protocols corresponding to the physical layer (L1), HARQ layer, ARQ layer, REORDER layer, and application (APP) layer are present in each of the transmitting node A and the receiving node D. Protocols corresponding to the physical layer (L1), HARQ layer, and ARQ layer are present in each of the transit nodes B and C. That is, if drawing attention to the HARQ and ARQ protocols, three pairs of HARQ and ARQ protocol sets are required in the entire system: one pair between the transmitting node A and the transit node B, one pair between the transit nodes B and C, and one pair between the transit node C and the receiving node D. In this case, two HARQ and ARQ protocol sets are present in each of the transit nodes B and C. In such a multi-hop system, packet loss occurring in multiple hops can be recovered through the HARQ and ARQ protocols for each hop.
Moreover, the REORDER layer for transmission in order of packet number is present in each of the transmitting node A and the receiving node D. The REORDER layer of the receiving node D buffers packets received from the ARQ layer of the receiving node D and passes the packets to the APP layer in order of packet number. Moreover, the REORDER layer of the transmitting node A controls the number of packets to transmit, considering the size of the REORDER buffer of the receiving node D.
However, in such a conventional multi-hop system, if an attempt is made to feed packets transmitted from the APP layer of the transmitting node A to the APP layer of the receiving node D in the order in which the packets were transmitted, the overall delay may become large because there is a possibility that an arrival delay occurs in each hop as described above. In addition, the overall delay is proportional to the number of hops in the system. Considering such an overall delay, the transmission buffer of a size required for consecutive transmission is needed at the transmitting node, and the REORDER buffer of a size determined based on a possible maximum delay is needed at the receiving node. The sizes of the buffers are proportional to the number of hops in the system.
For example, as shown in FIG. 2, it is assumed that a maximum arrival delay DLY_max occurs to a packet N in each hop, that the packet N arrives at the receiving node D with the sum of these arrival delays, and that all other packets arrive at the receiving node D without retransmission. In this case, all the other packets (N+1) to (N+K) after the packet N are stored in the REORDER buffer of the receiving node D until the delayed packet N arrives. When the delayed packet N has arrived, the packets are fed to the APP layer of the receiving node D in order of packet number. Accordingly, the packets N to (N+K) are all fed to the APP layer of the receiving node D with the same maximum delay as the delayed packet N. In this case, the size of the REORDER buffer of the receiving node D must be set at a size determined based on the possible maximum delay. If the size of the REORDER buffer is smaller than the size based on the maximum delay, the transmitting node A needs to stop transmission, depending on the buffer size on the receiving side.
In addition, if applying the protocols described with reference to FIGS. 1A and 1B to an existing multi-hop system as they are, the problem arises that the structure of the communications system becomes complicated as a whole. For example, a set of the ARQ and HARQ protocols is required for each hop, and two sets of the ARQ and HARQ protocols (one set for each hop) need to be provided to each transit node.